In [25]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.preprocessing import MinMaxScaler
import warnings

import tensorflow as tf
from tensorflow import keras
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, classification_report
In [26]:
df = pd.read_csv('Detect-Unbalance-Without-Noise.csv')
In [27]:
print(f'Number of Samples: {df.shape[0]}\nNumber of Features: {df.shape[1]}')
Number of Samples: 2500
Number of Features: 7
In [28]:
plt.figure(figsize=(25,6))

a1 = plt.subplot2grid((1,3),(0,0))
a1.scatter(df['Ia'], df['Va'])
a1.set_title('Line a')
a1.set_xlabel('Ia')
a1.set_ylabel('Va')

a2 = plt.subplot2grid((1,3),(0,1))
a2.scatter(df['Ib'], df['Vb'])
a2.set_title('Line b')
a2.set_xlabel('Ib')
a2.set_ylabel('Vb')

a3 = plt.subplot2grid((1,3),(0,2))
a3.scatter(df['Ic'], df['Vc'])
a3.set_title('Line c')
a3.set_xlabel('Ic')
a3.set_ylabel('Vc')
plt.show()
In [29]:
X = df.drop(['OUTPUT'],axis=1)
X
Out[29]:
Va Vb Vc Ia Ib Ic
0 -21205.705620 -97807.42620 119013.13180 108.638445 -116.454913 7.816468
1 -16472.554310 -100789.15120 117261.70550 111.265350 -114.178631 2.913281
2 -14096.779050 -102226.56960 116323.34870 112.519744 -112.979437 0.459693
3 -9331.043708 -104991.95690 114323.00070 114.908185 -110.461071 -4.447114
4 -4552.041678 -107608.15890 112160.20060 117.133359 -107.785739 -9.347620
... ... ... ... ... ... ...
2495 -33304.524750 -16697.46961 50001.99435 315.337841 188.872975 -504.210816
2496 -33415.173960 -22614.18741 56029.36137 308.034968 199.516902 -507.551871
2497 -32832.905920 -32075.57148 64908.47740 293.178906 221.924763 -515.103669
2498 -30817.219980 -35109.60271 65926.82269 277.786060 244.861817 -522.647876
2499 -29231.772540 -33295.53848 62527.31102 269.801438 256.010531 -525.811969

2500 rows × 6 columns

In [30]:
y = df['OUTPUT']
y
Out[30]:
0       0
1       0
2       0
3       0
4       0
       ..
2495    1
2496    1
2497    1
2498    1
2499    1
Name: OUTPUT, Length: 2500, dtype: int64
In [31]:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20, random_state = 0)
In [32]:
t = MinMaxScaler()
t.fit(X_train)
X_train_scaled = t.transform(X_train)
X_test_scaled = t.transform(X_test)
X_scaled = t.transform(X)
In [33]:
X_test
Out[33]:
Va Vb Vc Ia Ib Ic
53 126563.461000 -72053.547020 -54509.914010 61.930628 68.217531 -130.148159
2391 29569.010970 -16850.299680 -12718.711280 42.642254 -335.170377 292.528123
2310 -31578.617740 38322.115420 -6743.497677 255.133407 199.853325 -454.986732
728 47854.432160 3482.315994 -99172.094550 560.230012 96.322747 -128.640015
850 -21282.758350 -81051.954400 123058.488800 -171.617700 -115.353421 45.994303
... ... ... ... ... ... ...
1810 14805.131180 103581.706500 -88618.487780 757.192871 -427.987852 -13.488563
2330 -9866.544493 75746.875860 -65880.331360 -20.812300 257.519100 -236.706801
684 19538.207720 -135405.261100 35548.671500 206.257968 -32.350628 -91.311973
1674 45796.707170 50791.048130 -96599.995510 492.050979 -374.654308 -117.353092
2075 -21074.155130 -11226.107170 100167.887200 -199.055877 297.173366 120.092759

500 rows × 6 columns

In [34]:
y_test
Out[34]:
53      0
2391    1
2310    1
728     1
850     1
       ..
1810    1
2330    1
684     1
1674    1
2075    1
Name: OUTPUT, Length: 500, dtype: int64
In [35]:
model = keras.models.Sequential()

model.add(keras.layers.Dense(12,
                              input_shape=(6,),
                              name='Input_layer',
                              activation='relu'))
model.add(keras.layers.Dense(12,
                              name='Hidden_layer1',
                              activation='relu'))



model.add(keras.layers.Dense(1,
                             name='output_layer',
                             activation='sigmoid'))
In [36]:
model.compile(optimizer='adam',

              loss='binary_crossentropy',

              metrics=['accuracy'])
In [37]:
model_history = model.fit(X_train, y_train, epochs=250, batch_size=64, validation_split=0.2)
Epoch 1/250
25/25 [==============================] - 11s 168ms/step - loss: 1178.8420 - accuracy: 0.6056 - val_loss: 625.6847 - val_accuracy: 0.6525
Epoch 2/250
25/25 [==============================] - 0s 7ms/step - loss: 435.3763 - accuracy: 0.6406 - val_loss: 283.4364 - val_accuracy: 0.6950
Epoch 3/250
25/25 [==============================] - 0s 7ms/step - loss: 235.7774 - accuracy: 0.6881 - val_loss: 168.8295 - val_accuracy: 0.7250
Epoch 4/250
25/25 [==============================] - 0s 6ms/step - loss: 142.6239 - accuracy: 0.7144 - val_loss: 104.0316 - val_accuracy: 0.7075
Epoch 5/250
25/25 [==============================] - 0s 8ms/step - loss: 88.3551 - accuracy: 0.7344 - val_loss: 65.3130 - val_accuracy: 0.7200
Epoch 6/250
25/25 [==============================] - 0s 5ms/step - loss: 62.8579 - accuracy: 0.7306 - val_loss: 47.7785 - val_accuracy: 0.7275
Epoch 7/250
25/25 [==============================] - 0s 6ms/step - loss: 51.0990 - accuracy: 0.7387 - val_loss: 33.6837 - val_accuracy: 0.6950
Epoch 8/250
25/25 [==============================] - 0s 9ms/step - loss: 36.9879 - accuracy: 0.7544 - val_loss: 29.6591 - val_accuracy: 0.7025
Epoch 9/250
25/25 [==============================] - 0s 7ms/step - loss: 33.0355 - accuracy: 0.7588 - val_loss: 23.7954 - val_accuracy: 0.7625
Epoch 10/250
25/25 [==============================] - 0s 8ms/step - loss: 30.0727 - accuracy: 0.7675 - val_loss: 17.8575 - val_accuracy: 0.8175
Epoch 11/250
25/25 [==============================] - 0s 5ms/step - loss: 23.8098 - accuracy: 0.7763 - val_loss: 12.4309 - val_accuracy: 0.7975
Epoch 12/250
25/25 [==============================] - 0s 5ms/step - loss: 19.0356 - accuracy: 0.7763 - val_loss: 10.1211 - val_accuracy: 0.8025
Epoch 13/250
25/25 [==============================] - 0s 4ms/step - loss: 16.2013 - accuracy: 0.7906 - val_loss: 11.1730 - val_accuracy: 0.7725
Epoch 14/250
25/25 [==============================] - 0s 5ms/step - loss: 14.7468 - accuracy: 0.7850 - val_loss: 7.9205 - val_accuracy: 0.7850
Epoch 15/250
25/25 [==============================] - 0s 5ms/step - loss: 11.1400 - accuracy: 0.8206 - val_loss: 9.3336 - val_accuracy: 0.7750
Epoch 16/250
25/25 [==============================] - 0s 6ms/step - loss: 16.4958 - accuracy: 0.7931 - val_loss: 10.5856 - val_accuracy: 0.7850
Epoch 17/250
25/25 [==============================] - 0s 5ms/step - loss: 10.3925 - accuracy: 0.8200 - val_loss: 6.1709 - val_accuracy: 0.8125
Epoch 18/250
25/25 [==============================] - 0s 5ms/step - loss: 8.1874 - accuracy: 0.8244 - val_loss: 4.8166 - val_accuracy: 0.8450
Epoch 19/250
25/25 [==============================] - 0s 5ms/step - loss: 8.6808 - accuracy: 0.8350 - val_loss: 4.4030 - val_accuracy: 0.8225
Epoch 20/250
25/25 [==============================] - 0s 11ms/step - loss: 8.4695 - accuracy: 0.8269 - val_loss: 13.6124 - val_accuracy: 0.8150
Epoch 21/250
25/25 [==============================] - 0s 6ms/step - loss: 7.7628 - accuracy: 0.8294 - val_loss: 3.2906 - val_accuracy: 0.8750
Epoch 22/250
25/25 [==============================] - 0s 6ms/step - loss: 5.5770 - accuracy: 0.8631 - val_loss: 3.3811 - val_accuracy: 0.8475
Epoch 23/250
25/25 [==============================] - 0s 6ms/step - loss: 8.2894 - accuracy: 0.8331 - val_loss: 6.4060 - val_accuracy: 0.8000
Epoch 24/250
25/25 [==============================] - 0s 6ms/step - loss: 6.8804 - accuracy: 0.8581 - val_loss: 5.4202 - val_accuracy: 0.8775
Epoch 25/250
25/25 [==============================] - 0s 6ms/step - loss: 6.0277 - accuracy: 0.8462 - val_loss: 7.2093 - val_accuracy: 0.7825
Epoch 26/250
25/25 [==============================] - 0s 5ms/step - loss: 5.3870 - accuracy: 0.8594 - val_loss: 4.3858 - val_accuracy: 0.8400
Epoch 27/250
25/25 [==============================] - 0s 5ms/step - loss: 4.6441 - accuracy: 0.8600 - val_loss: 3.3207 - val_accuracy: 0.8850
Epoch 28/250
25/25 [==============================] - 0s 6ms/step - loss: 5.0687 - accuracy: 0.8487 - val_loss: 8.4019 - val_accuracy: 0.8275
Epoch 29/250
25/25 [==============================] - 0s 6ms/step - loss: 6.8837 - accuracy: 0.8469 - val_loss: 4.2638 - val_accuracy: 0.8900
Epoch 30/250
25/25 [==============================] - 0s 6ms/step - loss: 5.0746 - accuracy: 0.8656 - val_loss: 3.4310 - val_accuracy: 0.8775
Epoch 31/250
25/25 [==============================] - 0s 6ms/step - loss: 3.4890 - accuracy: 0.8719 - val_loss: 3.0483 - val_accuracy: 0.8975
Epoch 32/250
25/25 [==============================] - 0s 6ms/step - loss: 4.1777 - accuracy: 0.8562 - val_loss: 3.1552 - val_accuracy: 0.8675
Epoch 33/250
25/25 [==============================] - 0s 6ms/step - loss: 5.2534 - accuracy: 0.8681 - val_loss: 12.7253 - val_accuracy: 0.8650
Epoch 34/250
25/25 [==============================] - 0s 5ms/step - loss: 7.0622 - accuracy: 0.8694 - val_loss: 4.0039 - val_accuracy: 0.9025
Epoch 35/250
25/25 [==============================] - 0s 5ms/step - loss: 3.1578 - accuracy: 0.8894 - val_loss: 2.4288 - val_accuracy: 0.8750
Epoch 36/250
25/25 [==============================] - 0s 5ms/step - loss: 2.7424 - accuracy: 0.8800 - val_loss: 1.5853 - val_accuracy: 0.8800
Epoch 37/250
25/25 [==============================] - 0s 7ms/step - loss: 2.7025 - accuracy: 0.8881 - val_loss: 4.5643 - val_accuracy: 0.8900
Epoch 38/250
25/25 [==============================] - 0s 6ms/step - loss: 7.8545 - accuracy: 0.8631 - val_loss: 6.4361 - val_accuracy: 0.8775
Epoch 39/250
25/25 [==============================] - 0s 5ms/step - loss: 9.1623 - accuracy: 0.8675 - val_loss: 4.1271 - val_accuracy: 0.8525
Epoch 40/250
25/25 [==============================] - 0s 5ms/step - loss: 2.8502 - accuracy: 0.8931 - val_loss: 2.2125 - val_accuracy: 0.8800
Epoch 41/250
25/25 [==============================] - 0s 5ms/step - loss: 2.5948 - accuracy: 0.8906 - val_loss: 2.9561 - val_accuracy: 0.8900
Epoch 42/250
25/25 [==============================] - 0s 6ms/step - loss: 3.1925 - accuracy: 0.8888 - val_loss: 3.0068 - val_accuracy: 0.8900
Epoch 43/250
25/25 [==============================] - 0s 7ms/step - loss: 2.0735 - accuracy: 0.8950 - val_loss: 1.8787 - val_accuracy: 0.8850
Epoch 44/250
25/25 [==============================] - 0s 5ms/step - loss: 4.4480 - accuracy: 0.8788 - val_loss: 3.8999 - val_accuracy: 0.8975
Epoch 45/250
25/25 [==============================] - 0s 5ms/step - loss: 6.7501 - accuracy: 0.8788 - val_loss: 5.1388 - val_accuracy: 0.8950
Epoch 46/250
25/25 [==============================] - 0s 5ms/step - loss: 6.4095 - accuracy: 0.8719 - val_loss: 4.1990 - val_accuracy: 0.8525
Epoch 47/250
25/25 [==============================] - 0s 6ms/step - loss: 8.3417 - accuracy: 0.8494 - val_loss: 3.6895 - val_accuracy: 0.8350
Epoch 48/250
25/25 [==============================] - 0s 6ms/step - loss: 4.4638 - accuracy: 0.8700 - val_loss: 4.2518 - val_accuracy: 0.8950
Epoch 49/250
25/25 [==============================] - 0s 5ms/step - loss: 2.7513 - accuracy: 0.8931 - val_loss: 3.0178 - val_accuracy: 0.8900
Epoch 50/250
25/25 [==============================] - 0s 5ms/step - loss: 4.0195 - accuracy: 0.8938 - val_loss: 2.1662 - val_accuracy: 0.8675
Epoch 51/250
25/25 [==============================] - 0s 7ms/step - loss: 3.2135 - accuracy: 0.8838 - val_loss: 3.0708 - val_accuracy: 0.9050
Epoch 52/250
25/25 [==============================] - 0s 6ms/step - loss: 2.4374 - accuracy: 0.9075 - val_loss: 1.6166 - val_accuracy: 0.8950
Epoch 53/250
25/25 [==============================] - 0s 5ms/step - loss: 4.5665 - accuracy: 0.8988 - val_loss: 4.4449 - val_accuracy: 0.8525
Epoch 54/250
25/25 [==============================] - 0s 6ms/step - loss: 5.3696 - accuracy: 0.8788 - val_loss: 3.3227 - val_accuracy: 0.8850
Epoch 55/250
25/25 [==============================] - 0s 5ms/step - loss: 2.6022 - accuracy: 0.8850 - val_loss: 3.7540 - val_accuracy: 0.9000
Epoch 56/250
25/25 [==============================] - 0s 5ms/step - loss: 3.3411 - accuracy: 0.8994 - val_loss: 1.7086 - val_accuracy: 0.9075
Epoch 57/250
25/25 [==============================] - 0s 5ms/step - loss: 3.1859 - accuracy: 0.8981 - val_loss: 4.0364 - val_accuracy: 0.8975
Epoch 58/250
25/25 [==============================] - 0s 7ms/step - loss: 4.2372 - accuracy: 0.8694 - val_loss: 2.9346 - val_accuracy: 0.9025
Epoch 59/250
25/25 [==============================] - 0s 5ms/step - loss: 3.0400 - accuracy: 0.8919 - val_loss: 3.8558 - val_accuracy: 0.8625
Epoch 60/250
25/25 [==============================] - 0s 6ms/step - loss: 2.7543 - accuracy: 0.8994 - val_loss: 4.3790 - val_accuracy: 0.9000
Epoch 61/250
25/25 [==============================] - 0s 6ms/step - loss: 3.2054 - accuracy: 0.8838 - val_loss: 3.4277 - val_accuracy: 0.9100
Epoch 62/250
25/25 [==============================] - 0s 6ms/step - loss: 3.2330 - accuracy: 0.8900 - val_loss: 1.3804 - val_accuracy: 0.9075
Epoch 63/250
25/25 [==============================] - 0s 7ms/step - loss: 1.9573 - accuracy: 0.9044 - val_loss: 1.6453 - val_accuracy: 0.9125
Epoch 64/250
25/25 [==============================] - 0s 6ms/step - loss: 2.2583 - accuracy: 0.9044 - val_loss: 1.5481 - val_accuracy: 0.8900
Epoch 65/250
25/25 [==============================] - 0s 5ms/step - loss: 4.3273 - accuracy: 0.8913 - val_loss: 3.7339 - val_accuracy: 0.9025
Epoch 66/250
25/25 [==============================] - 0s 5ms/step - loss: 2.2278 - accuracy: 0.8975 - val_loss: 1.1722 - val_accuracy: 0.8700
Epoch 67/250
25/25 [==============================] - 0s 5ms/step - loss: 2.2293 - accuracy: 0.9000 - val_loss: 3.5954 - val_accuracy: 0.9075
Epoch 68/250
25/25 [==============================] - 0s 6ms/step - loss: 3.6334 - accuracy: 0.8969 - val_loss: 1.4560 - val_accuracy: 0.9125
Epoch 69/250
25/25 [==============================] - 0s 8ms/step - loss: 1.9038 - accuracy: 0.9100 - val_loss: 1.4926 - val_accuracy: 0.8825
Epoch 70/250
25/25 [==============================] - 0s 7ms/step - loss: 1.2946 - accuracy: 0.9194 - val_loss: 2.1489 - val_accuracy: 0.8925
Epoch 71/250
25/25 [==============================] - 0s 7ms/step - loss: 2.7728 - accuracy: 0.8913 - val_loss: 1.5115 - val_accuracy: 0.8875
Epoch 72/250
25/25 [==============================] - 0s 6ms/step - loss: 1.5513 - accuracy: 0.9006 - val_loss: 1.7901 - val_accuracy: 0.9050
Epoch 73/250
25/25 [==============================] - 0s 7ms/step - loss: 2.3445 - accuracy: 0.9094 - val_loss: 1.6248 - val_accuracy: 0.8600
Epoch 74/250
25/25 [==============================] - 0s 6ms/step - loss: 1.7221 - accuracy: 0.9031 - val_loss: 1.7154 - val_accuracy: 0.8925
Epoch 75/250
25/25 [==============================] - 0s 9ms/step - loss: 1.5482 - accuracy: 0.9175 - val_loss: 2.1169 - val_accuracy: 0.8825
Epoch 76/250
25/25 [==============================] - 0s 7ms/step - loss: 2.0341 - accuracy: 0.9125 - val_loss: 1.5336 - val_accuracy: 0.8875
Epoch 77/250
25/25 [==============================] - 0s 6ms/step - loss: 1.8035 - accuracy: 0.9019 - val_loss: 1.3143 - val_accuracy: 0.9100
Epoch 78/250
25/25 [==============================] - 0s 6ms/step - loss: 1.5913 - accuracy: 0.9150 - val_loss: 2.2804 - val_accuracy: 0.9075
Epoch 79/250
25/25 [==============================] - 0s 5ms/step - loss: 1.4320 - accuracy: 0.9081 - val_loss: 1.1375 - val_accuracy: 0.9150
Epoch 80/250
25/25 [==============================] - 0s 6ms/step - loss: 2.9137 - accuracy: 0.8931 - val_loss: 2.9163 - val_accuracy: 0.8700
Epoch 81/250
25/25 [==============================] - 0s 5ms/step - loss: 4.3462 - accuracy: 0.8919 - val_loss: 2.9962 - val_accuracy: 0.9025
Epoch 82/250
25/25 [==============================] - 0s 6ms/step - loss: 4.6416 - accuracy: 0.8581 - val_loss: 4.5226 - val_accuracy: 0.8800
Epoch 83/250
25/25 [==============================] - 0s 5ms/step - loss: 4.2420 - accuracy: 0.8894 - val_loss: 2.2943 - val_accuracy: 0.9100
Epoch 84/250
25/25 [==============================] - 0s 5ms/step - loss: 1.9371 - accuracy: 0.9031 - val_loss: 1.8814 - val_accuracy: 0.9175
Epoch 85/250
25/25 [==============================] - 0s 5ms/step - loss: 3.8425 - accuracy: 0.8781 - val_loss: 1.2093 - val_accuracy: 0.9050
Epoch 86/250
25/25 [==============================] - 0s 5ms/step - loss: 2.5210 - accuracy: 0.8981 - val_loss: 3.5373 - val_accuracy: 0.8450
Epoch 87/250
25/25 [==============================] - 0s 5ms/step - loss: 3.4454 - accuracy: 0.8913 - val_loss: 2.5782 - val_accuracy: 0.8725
Epoch 88/250
25/25 [==============================] - 0s 5ms/step - loss: 3.3831 - accuracy: 0.8894 - val_loss: 2.3645 - val_accuracy: 0.8900
Epoch 89/250
25/25 [==============================] - 0s 6ms/step - loss: 2.0440 - accuracy: 0.9025 - val_loss: 1.7385 - val_accuracy: 0.8825
Epoch 90/250
25/25 [==============================] - 0s 6ms/step - loss: 1.9865 - accuracy: 0.9050 - val_loss: 1.3441 - val_accuracy: 0.8875
Epoch 91/250
25/25 [==============================] - 0s 6ms/step - loss: 2.3242 - accuracy: 0.8969 - val_loss: 1.9035 - val_accuracy: 0.8800
Epoch 92/250
25/25 [==============================] - 0s 6ms/step - loss: 3.2941 - accuracy: 0.8931 - val_loss: 1.9108 - val_accuracy: 0.8900
Epoch 93/250
25/25 [==============================] - 0s 6ms/step - loss: 3.1654 - accuracy: 0.8794 - val_loss: 2.3054 - val_accuracy: 0.8875
Epoch 94/250
25/25 [==============================] - 0s 6ms/step - loss: 2.4900 - accuracy: 0.8975 - val_loss: 4.9347 - val_accuracy: 0.9000
Epoch 95/250
25/25 [==============================] - 0s 6ms/step - loss: 4.8231 - accuracy: 0.8794 - val_loss: 3.0930 - val_accuracy: 0.8825
Epoch 96/250
25/25 [==============================] - 0s 5ms/step - loss: 2.5287 - accuracy: 0.9050 - val_loss: 3.6398 - val_accuracy: 0.9025
Epoch 97/250
25/25 [==============================] - 0s 5ms/step - loss: 3.1602 - accuracy: 0.9050 - val_loss: 4.2666 - val_accuracy: 0.8325
Epoch 98/250
25/25 [==============================] - 0s 5ms/step - loss: 3.6302 - accuracy: 0.8919 - val_loss: 2.5772 - val_accuracy: 0.8525
Epoch 99/250
25/25 [==============================] - 0s 6ms/step - loss: 1.8538 - accuracy: 0.9013 - val_loss: 1.2357 - val_accuracy: 0.9200
Epoch 100/250
25/25 [==============================] - 0s 6ms/step - loss: 1.3541 - accuracy: 0.9194 - val_loss: 4.1922 - val_accuracy: 0.8925
Epoch 101/250
25/25 [==============================] - 0s 5ms/step - loss: 1.9022 - accuracy: 0.9156 - val_loss: 0.6673 - val_accuracy: 0.9050
Epoch 102/250
25/25 [==============================] - 0s 7ms/step - loss: 1.8901 - accuracy: 0.9112 - val_loss: 2.4242 - val_accuracy: 0.8925
Epoch 103/250
25/25 [==============================] - 0s 8ms/step - loss: 1.9182 - accuracy: 0.8944 - val_loss: 1.7425 - val_accuracy: 0.9150
Epoch 104/250
25/25 [==============================] - 0s 7ms/step - loss: 5.2879 - accuracy: 0.8863 - val_loss: 5.4774 - val_accuracy: 0.8550
Epoch 105/250
25/25 [==============================] - 0s 6ms/step - loss: 2.9744 - accuracy: 0.9137 - val_loss: 2.3382 - val_accuracy: 0.8850
Epoch 106/250
25/25 [==============================] - 0s 6ms/step - loss: 2.5454 - accuracy: 0.9000 - val_loss: 1.6694 - val_accuracy: 0.9050
Epoch 107/250
25/25 [==============================] - 0s 6ms/step - loss: 2.6817 - accuracy: 0.8856 - val_loss: 5.4275 - val_accuracy: 0.9000
Epoch 108/250
25/25 [==============================] - 0s 5ms/step - loss: 4.5118 - accuracy: 0.8950 - val_loss: 3.6942 - val_accuracy: 0.8675
Epoch 109/250
25/25 [==============================] - 0s 5ms/step - loss: 5.5380 - accuracy: 0.8913 - val_loss: 2.6601 - val_accuracy: 0.8525
Epoch 110/250
25/25 [==============================] - 0s 5ms/step - loss: 4.9703 - accuracy: 0.8819 - val_loss: 5.8088 - val_accuracy: 0.7950
Epoch 111/250
25/25 [==============================] - 0s 5ms/step - loss: 3.2390 - accuracy: 0.8881 - val_loss: 1.3573 - val_accuracy: 0.9225
Epoch 112/250
25/25 [==============================] - 0s 5ms/step - loss: 1.4305 - accuracy: 0.9137 - val_loss: 1.0228 - val_accuracy: 0.9225
Epoch 113/250
25/25 [==============================] - 0s 5ms/step - loss: 1.5254 - accuracy: 0.9081 - val_loss: 2.5624 - val_accuracy: 0.9100
Epoch 114/250
25/25 [==============================] - 0s 5ms/step - loss: 2.8149 - accuracy: 0.9006 - val_loss: 1.5812 - val_accuracy: 0.8800
Epoch 115/250
25/25 [==============================] - 0s 5ms/step - loss: 2.0849 - accuracy: 0.9081 - val_loss: 1.1953 - val_accuracy: 0.9325
Epoch 116/250
25/25 [==============================] - 0s 5ms/step - loss: 2.0202 - accuracy: 0.9050 - val_loss: 0.9967 - val_accuracy: 0.9275
Epoch 117/250
25/25 [==============================] - 0s 5ms/step - loss: 1.8951 - accuracy: 0.9137 - val_loss: 1.4223 - val_accuracy: 0.8675
Epoch 118/250
25/25 [==============================] - 0s 5ms/step - loss: 1.9851 - accuracy: 0.9069 - val_loss: 1.3426 - val_accuracy: 0.9050
Epoch 119/250
25/25 [==============================] - 0s 4ms/step - loss: 2.6873 - accuracy: 0.8988 - val_loss: 1.6661 - val_accuracy: 0.9150
Epoch 120/250
25/25 [==============================] - 0s 5ms/step - loss: 3.0090 - accuracy: 0.8988 - val_loss: 2.1412 - val_accuracy: 0.8750
Epoch 121/250
25/25 [==============================] - 0s 4ms/step - loss: 4.3346 - accuracy: 0.8681 - val_loss: 2.0977 - val_accuracy: 0.9150
Epoch 122/250
25/25 [==============================] - 0s 5ms/step - loss: 3.3729 - accuracy: 0.8894 - val_loss: 1.7480 - val_accuracy: 0.8875
Epoch 123/250
25/25 [==============================] - 0s 5ms/step - loss: 2.9140 - accuracy: 0.8969 - val_loss: 2.1178 - val_accuracy: 0.9100
Epoch 124/250
25/25 [==============================] - 0s 4ms/step - loss: 2.3356 - accuracy: 0.9137 - val_loss: 3.1827 - val_accuracy: 0.9100
Epoch 125/250
25/25 [==============================] - 0s 5ms/step - loss: 1.5867 - accuracy: 0.9181 - val_loss: 2.1466 - val_accuracy: 0.8450
Epoch 126/250
25/25 [==============================] - 0s 5ms/step - loss: 2.4247 - accuracy: 0.8969 - val_loss: 2.1390 - val_accuracy: 0.9175
Epoch 127/250
25/25 [==============================] - 0s 5ms/step - loss: 1.8922 - accuracy: 0.9019 - val_loss: 1.5475 - val_accuracy: 0.9050
Epoch 128/250
25/25 [==============================] - 0s 5ms/step - loss: 1.6988 - accuracy: 0.9181 - val_loss: 0.7637 - val_accuracy: 0.9375
Epoch 129/250
25/25 [==============================] - 0s 4ms/step - loss: 1.5914 - accuracy: 0.9050 - val_loss: 3.8422 - val_accuracy: 0.8725
Epoch 130/250
25/25 [==============================] - 0s 8ms/step - loss: 1.4291 - accuracy: 0.9137 - val_loss: 0.9541 - val_accuracy: 0.9225
Epoch 131/250
25/25 [==============================] - 0s 7ms/step - loss: 2.7472 - accuracy: 0.8906 - val_loss: 3.0717 - val_accuracy: 0.8975
Epoch 132/250
25/25 [==============================] - 0s 5ms/step - loss: 2.8766 - accuracy: 0.9031 - val_loss: 1.7723 - val_accuracy: 0.8875
Epoch 133/250
25/25 [==============================] - 0s 6ms/step - loss: 4.0332 - accuracy: 0.8806 - val_loss: 3.2447 - val_accuracy: 0.8800
Epoch 134/250
25/25 [==============================] - 0s 5ms/step - loss: 2.8504 - accuracy: 0.8931 - val_loss: 2.3163 - val_accuracy: 0.9050
Epoch 135/250
25/25 [==============================] - 0s 5ms/step - loss: 3.9549 - accuracy: 0.8831 - val_loss: 3.2651 - val_accuracy: 0.8900
Epoch 136/250
25/25 [==============================] - 0s 5ms/step - loss: 2.4283 - accuracy: 0.9137 - val_loss: 3.0664 - val_accuracy: 0.9000
Epoch 137/250
25/25 [==============================] - 0s 5ms/step - loss: 3.5515 - accuracy: 0.8844 - val_loss: 1.5211 - val_accuracy: 0.8700
Epoch 138/250
25/25 [==============================] - 0s 6ms/step - loss: 1.9006 - accuracy: 0.9038 - val_loss: 1.7207 - val_accuracy: 0.8975
Epoch 139/250
25/25 [==============================] - 0s 4ms/step - loss: 2.0605 - accuracy: 0.9087 - val_loss: 6.1797 - val_accuracy: 0.8900
Epoch 140/250
25/25 [==============================] - 0s 5ms/step - loss: 4.7457 - accuracy: 0.9000 - val_loss: 4.5202 - val_accuracy: 0.8875
Epoch 141/250
25/25 [==============================] - 0s 4ms/step - loss: 4.7335 - accuracy: 0.8894 - val_loss: 3.1479 - val_accuracy: 0.9075
Epoch 142/250
25/25 [==============================] - 0s 5ms/step - loss: 3.4622 - accuracy: 0.8981 - val_loss: 3.6264 - val_accuracy: 0.8450
Epoch 143/250
25/25 [==============================] - 0s 5ms/step - loss: 2.9367 - accuracy: 0.9038 - val_loss: 1.3614 - val_accuracy: 0.9150
Epoch 144/250
25/25 [==============================] - 0s 4ms/step - loss: 1.2844 - accuracy: 0.9300 - val_loss: 1.1037 - val_accuracy: 0.9150
Epoch 145/250
25/25 [==============================] - 0s 5ms/step - loss: 1.4357 - accuracy: 0.9150 - val_loss: 4.3243 - val_accuracy: 0.8925
Epoch 146/250
25/25 [==============================] - 0s 5ms/step - loss: 2.1965 - accuracy: 0.9044 - val_loss: 0.9534 - val_accuracy: 0.9075
Epoch 147/250
25/25 [==============================] - 0s 5ms/step - loss: 1.1720 - accuracy: 0.9231 - val_loss: 1.7049 - val_accuracy: 0.9000
Epoch 148/250
25/25 [==============================] - 0s 5ms/step - loss: 1.7488 - accuracy: 0.9087 - val_loss: 1.0093 - val_accuracy: 0.9050
Epoch 149/250
25/25 [==============================] - 0s 5ms/step - loss: 1.7695 - accuracy: 0.9175 - val_loss: 1.3500 - val_accuracy: 0.9100
Epoch 150/250
25/25 [==============================] - 0s 5ms/step - loss: 1.2771 - accuracy: 0.9269 - val_loss: 1.5912 - val_accuracy: 0.8950
Epoch 151/250
25/25 [==============================] - 0s 5ms/step - loss: 1.3950 - accuracy: 0.9275 - val_loss: 0.9731 - val_accuracy: 0.9175
Epoch 152/250
25/25 [==============================] - 0s 5ms/step - loss: 2.5634 - accuracy: 0.9106 - val_loss: 2.4781 - val_accuracy: 0.9300
Epoch 153/250
25/25 [==============================] - 0s 4ms/step - loss: 3.9846 - accuracy: 0.8919 - val_loss: 2.4523 - val_accuracy: 0.9150
Epoch 154/250
25/25 [==============================] - 0s 6ms/step - loss: 2.4231 - accuracy: 0.9075 - val_loss: 2.7187 - val_accuracy: 0.8700
Epoch 155/250
25/25 [==============================] - 0s 6ms/step - loss: 2.4515 - accuracy: 0.9106 - val_loss: 7.0067 - val_accuracy: 0.8000
Epoch 156/250
25/25 [==============================] - 0s 5ms/step - loss: 3.3562 - accuracy: 0.8938 - val_loss: 2.1753 - val_accuracy: 0.9150
Epoch 157/250
25/25 [==============================] - 0s 5ms/step - loss: 2.4301 - accuracy: 0.9006 - val_loss: 2.8945 - val_accuracy: 0.9250
Epoch 158/250
25/25 [==============================] - 0s 5ms/step - loss: 2.4576 - accuracy: 0.9100 - val_loss: 0.9609 - val_accuracy: 0.9325
Epoch 159/250
25/25 [==============================] - 0s 5ms/step - loss: 1.9384 - accuracy: 0.9069 - val_loss: 8.5364 - val_accuracy: 0.8025
Epoch 160/250
25/25 [==============================] - 0s 5ms/step - loss: 4.2269 - accuracy: 0.8863 - val_loss: 1.8241 - val_accuracy: 0.8850
Epoch 161/250
25/25 [==============================] - 0s 5ms/step - loss: 3.6258 - accuracy: 0.8919 - val_loss: 4.4148 - val_accuracy: 0.8900
Epoch 162/250
25/25 [==============================] - 0s 5ms/step - loss: 3.1810 - accuracy: 0.8950 - val_loss: 1.6554 - val_accuracy: 0.9200
Epoch 163/250
25/25 [==============================] - 0s 5ms/step - loss: 3.1874 - accuracy: 0.8881 - val_loss: 1.6652 - val_accuracy: 0.8925
Epoch 164/250
25/25 [==============================] - 0s 6ms/step - loss: 2.4077 - accuracy: 0.9038 - val_loss: 1.3607 - val_accuracy: 0.9275
Epoch 165/250
25/25 [==============================] - 0s 5ms/step - loss: 1.9856 - accuracy: 0.9050 - val_loss: 7.2248 - val_accuracy: 0.8325
Epoch 166/250
25/25 [==============================] - 0s 5ms/step - loss: 1.8475 - accuracy: 0.9100 - val_loss: 1.5103 - val_accuracy: 0.9375
Epoch 167/250
25/25 [==============================] - 0s 5ms/step - loss: 1.6260 - accuracy: 0.9256 - val_loss: 3.0312 - val_accuracy: 0.9225
Epoch 168/250
25/25 [==============================] - 0s 5ms/step - loss: 2.5857 - accuracy: 0.9031 - val_loss: 1.8578 - val_accuracy: 0.9050
Epoch 169/250
25/25 [==============================] - 0s 6ms/step - loss: 3.3849 - accuracy: 0.8981 - val_loss: 1.7075 - val_accuracy: 0.8875
Epoch 170/250
25/25 [==============================] - 0s 6ms/step - loss: 2.6788 - accuracy: 0.8938 - val_loss: 1.2737 - val_accuracy: 0.9250
Epoch 171/250
25/25 [==============================] - 0s 5ms/step - loss: 2.6267 - accuracy: 0.9044 - val_loss: 1.7709 - val_accuracy: 0.9125
Epoch 172/250
25/25 [==============================] - 0s 5ms/step - loss: 1.3601 - accuracy: 0.9294 - val_loss: 1.9409 - val_accuracy: 0.9125
Epoch 173/250
25/25 [==============================] - 0s 7ms/step - loss: 1.9673 - accuracy: 0.9044 - val_loss: 0.8942 - val_accuracy: 0.9350
Epoch 174/250
25/25 [==============================] - 0s 6ms/step - loss: 2.2935 - accuracy: 0.9137 - val_loss: 1.3337 - val_accuracy: 0.9175
Epoch 175/250
25/25 [==============================] - 0s 5ms/step - loss: 2.4106 - accuracy: 0.8994 - val_loss: 1.3853 - val_accuracy: 0.9050
Epoch 176/250
25/25 [==============================] - 0s 6ms/step - loss: 1.9330 - accuracy: 0.9119 - val_loss: 0.8325 - val_accuracy: 0.9400
Epoch 177/250
25/25 [==============================] - 0s 5ms/step - loss: 1.0228 - accuracy: 0.9325 - val_loss: 1.0353 - val_accuracy: 0.9375
Epoch 178/250
25/25 [==============================] - 0s 5ms/step - loss: 0.8630 - accuracy: 0.9406 - val_loss: 1.6063 - val_accuracy: 0.9500
Epoch 179/250
25/25 [==============================] - 0s 5ms/step - loss: 2.2797 - accuracy: 0.9156 - val_loss: 1.3338 - val_accuracy: 0.9175
Epoch 180/250
25/25 [==============================] - 0s 7ms/step - loss: 2.5245 - accuracy: 0.8956 - val_loss: 1.2914 - val_accuracy: 0.8975
Epoch 181/250
25/25 [==============================] - 0s 6ms/step - loss: 2.1197 - accuracy: 0.9025 - val_loss: 0.8558 - val_accuracy: 0.9475
Epoch 182/250
25/25 [==============================] - 0s 6ms/step - loss: 1.1258 - accuracy: 0.9256 - val_loss: 0.7892 - val_accuracy: 0.9525
Epoch 183/250
25/25 [==============================] - 0s 5ms/step - loss: 1.9478 - accuracy: 0.9169 - val_loss: 2.1221 - val_accuracy: 0.9175
Epoch 184/250
25/25 [==============================] - 0s 5ms/step - loss: 1.5517 - accuracy: 0.9219 - val_loss: 0.8358 - val_accuracy: 0.9500
Epoch 185/250
25/25 [==============================] - 0s 7ms/step - loss: 1.7058 - accuracy: 0.9194 - val_loss: 4.4788 - val_accuracy: 0.8950
Epoch 186/250
25/25 [==============================] - 0s 6ms/step - loss: 2.5621 - accuracy: 0.9119 - val_loss: 2.2292 - val_accuracy: 0.9150
Epoch 187/250
25/25 [==============================] - 0s 10ms/step - loss: 1.5867 - accuracy: 0.9181 - val_loss: 0.9335 - val_accuracy: 0.9475
Epoch 188/250
25/25 [==============================] - 0s 7ms/step - loss: 1.4420 - accuracy: 0.9144 - val_loss: 1.1810 - val_accuracy: 0.9500
Epoch 189/250
25/25 [==============================] - 0s 7ms/step - loss: 1.3663 - accuracy: 0.9281 - val_loss: 0.7188 - val_accuracy: 0.9375
Epoch 190/250
25/25 [==============================] - 0s 7ms/step - loss: 2.5696 - accuracy: 0.9056 - val_loss: 1.4650 - val_accuracy: 0.9400
Epoch 191/250
25/25 [==============================] - 0s 7ms/step - loss: 3.2060 - accuracy: 0.8869 - val_loss: 1.3477 - val_accuracy: 0.9375
Epoch 192/250
25/25 [==============================] - 0s 5ms/step - loss: 2.2066 - accuracy: 0.9137 - val_loss: 2.2553 - val_accuracy: 0.9425
Epoch 193/250
25/25 [==============================] - 0s 7ms/step - loss: 1.5587 - accuracy: 0.9250 - val_loss: 1.4323 - val_accuracy: 0.9475
Epoch 194/250
25/25 [==============================] - 0s 7ms/step - loss: 0.9472 - accuracy: 0.9425 - val_loss: 1.3513 - val_accuracy: 0.9475
Epoch 195/250
25/25 [==============================] - 0s 8ms/step - loss: 1.2503 - accuracy: 0.9425 - val_loss: 0.8671 - val_accuracy: 0.9525
Epoch 196/250
25/25 [==============================] - 0s 7ms/step - loss: 0.8502 - accuracy: 0.9481 - val_loss: 0.4584 - val_accuracy: 0.9500
Epoch 197/250
25/25 [==============================] - 0s 8ms/step - loss: 1.2125 - accuracy: 0.9125 - val_loss: 0.6713 - val_accuracy: 0.9500
Epoch 198/250
25/25 [==============================] - 0s 6ms/step - loss: 3.0201 - accuracy: 0.9044 - val_loss: 3.1776 - val_accuracy: 0.8900
Epoch 199/250
25/25 [==============================] - 0s 6ms/step - loss: 2.1032 - accuracy: 0.8988 - val_loss: 1.3014 - val_accuracy: 0.9400
Epoch 200/250
25/25 [==============================] - 0s 6ms/step - loss: 1.2575 - accuracy: 0.9212 - val_loss: 1.9255 - val_accuracy: 0.9150
Epoch 201/250
25/25 [==============================] - 0s 7ms/step - loss: 1.4752 - accuracy: 0.9181 - val_loss: 1.1665 - val_accuracy: 0.9400
Epoch 202/250
25/25 [==============================] - 0s 6ms/step - loss: 1.2298 - accuracy: 0.9244 - val_loss: 2.0781 - val_accuracy: 0.9375
Epoch 203/250
25/25 [==============================] - 0s 6ms/step - loss: 1.3604 - accuracy: 0.9300 - val_loss: 2.5202 - val_accuracy: 0.8625
Epoch 204/250
25/25 [==============================] - 0s 6ms/step - loss: 1.3429 - accuracy: 0.9281 - val_loss: 1.5381 - val_accuracy: 0.9075
Epoch 205/250
25/25 [==============================] - 0s 6ms/step - loss: 1.4636 - accuracy: 0.9237 - val_loss: 1.0214 - val_accuracy: 0.9425
Epoch 206/250
25/25 [==============================] - 0s 7ms/step - loss: 1.1160 - accuracy: 0.9262 - val_loss: 1.1457 - val_accuracy: 0.9175
Epoch 207/250
25/25 [==============================] - 0s 7ms/step - loss: 1.5044 - accuracy: 0.9244 - val_loss: 4.2586 - val_accuracy: 0.8975
Epoch 208/250
25/25 [==============================] - 0s 8ms/step - loss: 5.5547 - accuracy: 0.8925 - val_loss: 0.8767 - val_accuracy: 0.9375
Epoch 209/250
25/25 [==============================] - 0s 6ms/step - loss: 1.7221 - accuracy: 0.9169 - val_loss: 0.8864 - val_accuracy: 0.9500
Epoch 210/250
25/25 [==============================] - 0s 7ms/step - loss: 1.4798 - accuracy: 0.9231 - val_loss: 0.6243 - val_accuracy: 0.9275
Epoch 211/250
25/25 [==============================] - 0s 7ms/step - loss: 1.2457 - accuracy: 0.9325 - val_loss: 0.7594 - val_accuracy: 0.9625
Epoch 212/250
25/25 [==============================] - 0s 6ms/step - loss: 0.9612 - accuracy: 0.9325 - val_loss: 2.2063 - val_accuracy: 0.9075
Epoch 213/250
25/25 [==============================] - 0s 6ms/step - loss: 1.4117 - accuracy: 0.9169 - val_loss: 3.2619 - val_accuracy: 0.8925
Epoch 214/250
25/25 [==============================] - 0s 7ms/step - loss: 1.9799 - accuracy: 0.9094 - val_loss: 3.2546 - val_accuracy: 0.9025
Epoch 215/250
25/25 [==============================] - 0s 6ms/step - loss: 1.4233 - accuracy: 0.9244 - val_loss: 1.1144 - val_accuracy: 0.9475
Epoch 216/250
25/25 [==============================] - 0s 6ms/step - loss: 1.2107 - accuracy: 0.9281 - val_loss: 0.9012 - val_accuracy: 0.9250
Epoch 217/250
25/25 [==============================] - 0s 6ms/step - loss: 1.0453 - accuracy: 0.9325 - val_loss: 1.4132 - val_accuracy: 0.9225
Epoch 218/250
25/25 [==============================] - 0s 6ms/step - loss: 1.4398 - accuracy: 0.9337 - val_loss: 1.3843 - val_accuracy: 0.9275
Epoch 219/250
25/25 [==============================] - 0s 6ms/step - loss: 1.1498 - accuracy: 0.9356 - val_loss: 1.5525 - val_accuracy: 0.9000
Epoch 220/250
25/25 [==============================] - 0s 5ms/step - loss: 1.2525 - accuracy: 0.9331 - val_loss: 0.9335 - val_accuracy: 0.9425
Epoch 221/250
25/25 [==============================] - 0s 6ms/step - loss: 1.6467 - accuracy: 0.9231 - val_loss: 2.1342 - val_accuracy: 0.9050
Epoch 222/250
25/25 [==============================] - 0s 5ms/step - loss: 1.2179 - accuracy: 0.9325 - val_loss: 1.6485 - val_accuracy: 0.9400
Epoch 223/250
25/25 [==============================] - 0s 5ms/step - loss: 0.9975 - accuracy: 0.9388 - val_loss: 0.5725 - val_accuracy: 0.9525
Epoch 224/250
25/25 [==============================] - 0s 5ms/step - loss: 1.9084 - accuracy: 0.9162 - val_loss: 1.7406 - val_accuracy: 0.8975
Epoch 225/250
25/25 [==============================] - 0s 5ms/step - loss: 1.1879 - accuracy: 0.9369 - val_loss: 1.6668 - val_accuracy: 0.9250
Epoch 226/250
25/25 [==============================] - 0s 5ms/step - loss: 1.5910 - accuracy: 0.9169 - val_loss: 2.4267 - val_accuracy: 0.9325
Epoch 227/250
25/25 [==============================] - 0s 5ms/step - loss: 1.4159 - accuracy: 0.9331 - val_loss: 0.8255 - val_accuracy: 0.9425
Epoch 228/250
25/25 [==============================] - 0s 5ms/step - loss: 1.1654 - accuracy: 0.9312 - val_loss: 1.9324 - val_accuracy: 0.9025
Epoch 229/250
25/25 [==============================] - 0s 5ms/step - loss: 1.3013 - accuracy: 0.9256 - val_loss: 1.1809 - val_accuracy: 0.9275
Epoch 230/250
25/25 [==============================] - 0s 5ms/step - loss: 1.2690 - accuracy: 0.9112 - val_loss: 1.6970 - val_accuracy: 0.9275
Epoch 231/250
25/25 [==============================] - 0s 5ms/step - loss: 1.6164 - accuracy: 0.9187 - val_loss: 2.0696 - val_accuracy: 0.8825
Epoch 232/250
25/25 [==============================] - 0s 5ms/step - loss: 1.7422 - accuracy: 0.9119 - val_loss: 1.1785 - val_accuracy: 0.9375
Epoch 233/250
25/25 [==============================] - 0s 7ms/step - loss: 1.3295 - accuracy: 0.9262 - val_loss: 1.4574 - val_accuracy: 0.9225
Epoch 234/250
25/25 [==============================] - 0s 7ms/step - loss: 1.2968 - accuracy: 0.9244 - val_loss: 0.7071 - val_accuracy: 0.9525
Epoch 235/250
25/25 [==============================] - 0s 7ms/step - loss: 0.8077 - accuracy: 0.9544 - val_loss: 1.2411 - val_accuracy: 0.9550
Epoch 236/250
25/25 [==============================] - 0s 7ms/step - loss: 0.7359 - accuracy: 0.9500 - val_loss: 0.5894 - val_accuracy: 0.9725
Epoch 237/250
25/25 [==============================] - 0s 7ms/step - loss: 1.2898 - accuracy: 0.9369 - val_loss: 1.9254 - val_accuracy: 0.9200
Epoch 238/250
25/25 [==============================] - 0s 5ms/step - loss: 1.4436 - accuracy: 0.9169 - val_loss: 2.8138 - val_accuracy: 0.8950
Epoch 239/250
25/25 [==============================] - 0s 5ms/step - loss: 2.2150 - accuracy: 0.9075 - val_loss: 1.7722 - val_accuracy: 0.9375
Epoch 240/250
25/25 [==============================] - 0s 8ms/step - loss: 1.1761 - accuracy: 0.9331 - val_loss: 0.7895 - val_accuracy: 0.9550
Epoch 241/250
25/25 [==============================] - 0s 7ms/step - loss: 0.8211 - accuracy: 0.9463 - val_loss: 1.0835 - val_accuracy: 0.9275
Epoch 242/250
25/25 [==============================] - 0s 6ms/step - loss: 1.1888 - accuracy: 0.9413 - val_loss: 1.3475 - val_accuracy: 0.9450
Epoch 243/250
25/25 [==============================] - 0s 5ms/step - loss: 1.5923 - accuracy: 0.9244 - val_loss: 1.4853 - val_accuracy: 0.9250
Epoch 244/250
25/25 [==============================] - 0s 5ms/step - loss: 2.4932 - accuracy: 0.9025 - val_loss: 1.5808 - val_accuracy: 0.9350
Epoch 245/250
25/25 [==============================] - 0s 5ms/step - loss: 1.9749 - accuracy: 0.9169 - val_loss: 3.0844 - val_accuracy: 0.8950
Epoch 246/250
25/25 [==============================] - 0s 6ms/step - loss: 1.6275 - accuracy: 0.9056 - val_loss: 3.1178 - val_accuracy: 0.9125
Epoch 247/250
25/25 [==============================] - 0s 5ms/step - loss: 1.5185 - accuracy: 0.9200 - val_loss: 0.9243 - val_accuracy: 0.9275
Epoch 248/250
25/25 [==============================] - 0s 5ms/step - loss: 1.5978 - accuracy: 0.9244 - val_loss: 1.6381 - val_accuracy: 0.8975
Epoch 249/250
25/25 [==============================] - 0s 6ms/step - loss: 1.0338 - accuracy: 0.9388 - val_loss: 1.0314 - val_accuracy: 0.9575
Epoch 250/250
25/25 [==============================] - 0s 6ms/step - loss: 0.7860 - accuracy: 0.9544 - val_loss: 0.6010 - val_accuracy: 0.9375
In [38]:
history = pd.DataFrame(model_history.history)

plt.figure(figsize=(18,8))

a1 = plt.subplot2grid((1,2),(0,0))
a1.plot(history['accuracy'], label='Accuracy')
a1.set_title('Accuracy')

a2 = plt.subplot2grid((1,2),(0,1))
a2.plot(history['loss'], label='Loss')
a2.set_title('Loss')
plt.savefig("V5_Full_Accuracy.png")
plt.savefig("V5_Full_loss.png")
plt.show()
In [39]:
y_pred = model.predict(X_test)
y_pred.shape, y_test.shape
Out[39]:
((500, 1), (500,))
In [40]:
y_pred = np.where(y_pred>0.5, 1, 0)

print(f'Accuracy Score: {accuracy_score(y_test, y_pred)*100:.03f}%')
print(f'Precision Score: {precision_score(y_test, y_pred)*100:.03f}%')
print(f'Recall Score: {recall_score(y_test, y_pred)*100:.03f}%')
Accuracy Score: 93.000%
Precision Score: 95.418%
Recall Score: 95.161%
In [41]:
print(classification_report(y_test, y_pred))
              precision    recall  f1-score   support

           0       0.86      0.87      0.86       128
           1       0.95      0.95      0.95       372

    accuracy                           0.93       500
   macro avg       0.91      0.91      0.91       500
weighted avg       0.93      0.93      0.93       500

In [42]:
cf_matrix = confusion_matrix(y_test, y_pred)

ax = sns.heatmap(cf_matrix, annot=True, cmap='Greens')
ax.set_title(' Confusion Matrix  \n\n');
ax.set_xlabel('\nPredicted Values')
ax.set_ylabel('Actual Values ');
plt.savefig("cf_matrix (MLP).png")
In [43]:
plt.plot(model_history.history['accuracy'] )
plt.plot(model_history.history['val_accuracy']) 
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.rcParams['figure.dpi'] = 1000
plt.show()
        
plt.plot(model_history.history['loss'] )
plt.plot(model_history.history['val_loss'] )
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.rcParams['figure.dpi'] = 1000
plt.show()
In [ ]:
 
In [ ]: